{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数据准备"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Using data directory: C:\\Users\\agriq\\.bokeh\\data\n",
      "Skipping 'CGM.csv' (checksum match)\n",
      "Skipping 'US_Counties.zip' (checksum match)\n",
      "Skipping 'us_cities.json' (checksum match)\n",
      "Skipping 'unemployment09.csv' (checksum match)\n",
      "Skipping 'AAPL.csv' (checksum match)\n",
      "Skipping 'FB.csv' (checksum match)\n",
      "Skipping 'GOOG.csv' (checksum match)\n",
      "Skipping 'IBM.csv' (checksum match)\n",
      "Skipping 'MSFT.csv' (checksum match)\n",
      "Skipping 'WPP2012_SA_DB03_POPULATION_QUINQUENNIAL.zip' (checksum match)\n",
      "Skipping 'gapminder_fertility.csv' (checksum match)\n",
      "Skipping 'gapminder_population.csv' (checksum match)\n",
      "Skipping 'gapminder_life_expectancy.csv' (checksum match)\n",
      "Skipping 'gapminder_regions.csv' (checksum match)\n",
      "Skipping 'world_cities.zip' (checksum match)\n",
      "Skipping 'airports.json' (checksum match)\n",
      "Skipping 'movies.db.zip' (checksum match)\n",
      "Skipping 'airports.csv' (checksum match)\n",
      "Skipping 'routes.csv' (checksum match)\n",
      "Skipping 'haarcascade_frontalface_default.xml' (checksum match)\n"
     ]
    }
   ],
   "source": [
    "import bokeh\n",
    "bokeh.sampledata.download()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"bk-root\">\n",
       "        <a href=\"https://bokeh.org\" target=\"_blank\" class=\"bk-logo bk-logo-small bk-logo-notebook\"></a>\n",
       "        <span id=\"1001\">Loading BokehJS ...</span>\n",
       "    </div>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "\n",
       "(function(root) {\n",
       "  function now() {\n",
       "    return new Date();\n",
       "  }\n",
       "\n",
       "  var force = true;\n",
       "\n",
       "  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
       "    root._bokeh_onload_callbacks = [];\n",
       "    root._bokeh_is_loading = undefined;\n",
       "  }\n",
       "\n",
       "  var JS_MIME_TYPE = 'application/javascript';\n",
       "  var HTML_MIME_TYPE = 'text/html';\n",
       "  var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
       "  var CLASS_NAME = 'output_bokeh rendered_html';\n",
       "\n",
       "  /**\n",
       "   * Render data to the DOM node\n",
       "   */\n",
       "  function render(props, node) {\n",
       "    var script = document.createElement(\"script\");\n",
       "    node.appendChild(script);\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when an output is cleared or removed\n",
       "   */\n",
       "  function handleClearOutput(event, handle) {\n",
       "    var cell = handle.cell;\n",
       "\n",
       "    var id = cell.output_area._bokeh_element_id;\n",
       "    var server_id = cell.output_area._bokeh_server_id;\n",
       "    // Clean up Bokeh references\n",
       "    if (id != null && id in Bokeh.index) {\n",
       "      Bokeh.index[id].model.document.clear();\n",
       "      delete Bokeh.index[id];\n",
       "    }\n",
       "\n",
       "    if (server_id !== undefined) {\n",
       "      // Clean up Bokeh references\n",
       "      var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
       "      cell.notebook.kernel.execute(cmd, {\n",
       "        iopub: {\n",
       "          output: function(msg) {\n",
       "            var id = msg.content.text.trim();\n",
       "            if (id in Bokeh.index) {\n",
       "              Bokeh.index[id].model.document.clear();\n",
       "              delete Bokeh.index[id];\n",
       "            }\n",
       "          }\n",
       "        }\n",
       "      });\n",
       "      // Destroy server and session\n",
       "      var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
       "      cell.notebook.kernel.execute(cmd);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  /**\n",
       "   * Handle when a new output is added\n",
       "   */\n",
       "  function handleAddOutput(event, handle) {\n",
       "    var output_area = handle.output_area;\n",
       "    var output = handle.output;\n",
       "\n",
       "    // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
       "    if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
       "      return\n",
       "    }\n",
       "\n",
       "    var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
       "\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
       "      toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
       "      // store reference to embed id on output_area\n",
       "      output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
       "    }\n",
       "    if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
       "      var bk_div = document.createElement(\"div\");\n",
       "      bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
       "      var script_attrs = bk_div.children[0].attributes;\n",
       "      for (var i = 0; i < script_attrs.length; i++) {\n",
       "        toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
       "        toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\n",
       "      }\n",
       "      // store reference to server id on output_area\n",
       "      output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
       "    }\n",
       "  }\n",
       "\n",
       "  function register_renderer(events, OutputArea) {\n",
       "\n",
       "    function append_mime(data, metadata, element) {\n",
       "      // create a DOM node to render to\n",
       "      var toinsert = this.create_output_subarea(\n",
       "        metadata,\n",
       "        CLASS_NAME,\n",
       "        EXEC_MIME_TYPE\n",
       "      );\n",
       "      this.keyboard_manager.register_events(toinsert);\n",
       "      // Render to node\n",
       "      var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
       "      render(props, toinsert[toinsert.length - 1]);\n",
       "      element.append(toinsert);\n",
       "      return toinsert\n",
       "    }\n",
       "\n",
       "    /* Handle when an output is cleared or removed */\n",
       "    events.on('clear_output.CodeCell', handleClearOutput);\n",
       "    events.on('delete.Cell', handleClearOutput);\n",
       "\n",
       "    /* Handle when a new output is added */\n",
       "    events.on('output_added.OutputArea', handleAddOutput);\n",
       "\n",
       "    /**\n",
       "     * Register the mime type and append_mime function with output_area\n",
       "     */\n",
       "    OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
       "      /* Is output safe? */\n",
       "      safe: true,\n",
       "      /* Index of renderer in `output_area.display_order` */\n",
       "      index: 0\n",
       "    });\n",
       "  }\n",
       "\n",
       "  // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
       "  if (root.Jupyter !== undefined) {\n",
       "    var events = require('base/js/events');\n",
       "    var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
       "\n",
       "    if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
       "      register_renderer(events, OutputArea);\n",
       "    }\n",
       "  }\n",
       "\n",
       "  \n",
       "  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
       "    root._bokeh_timeout = Date.now() + 5000;\n",
       "    root._bokeh_failed_load = false;\n",
       "  }\n",
       "\n",
       "  var NB_LOAD_WARNING = {'data': {'text/html':\n",
       "     \"<div style='background-color: #fdd'>\\n\"+\n",
       "     \"<p>\\n\"+\n",
       "     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
       "     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
       "     \"</p>\\n\"+\n",
       "     \"<ul>\\n\"+\n",
       "     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n",
       "     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n",
       "     \"</ul>\\n\"+\n",
       "     \"<code>\\n\"+\n",
       "     \"from bokeh.resources import INLINE\\n\"+\n",
       "     \"output_notebook(resources=INLINE)\\n\"+\n",
       "     \"</code>\\n\"+\n",
       "     \"</div>\"}};\n",
       "\n",
       "  function display_loaded() {\n",
       "    var el = document.getElementById(\"1001\");\n",
       "    if (el != null) {\n",
       "      el.textContent = \"BokehJS is loading...\";\n",
       "    }\n",
       "    if (root.Bokeh !== undefined) {\n",
       "      if (el != null) {\n",
       "        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
       "      }\n",
       "    } else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(display_loaded, 100)\n",
       "    }\n",
       "  }\n",
       "\n",
       "\n",
       "  function run_callbacks() {\n",
       "    try {\n",
       "      root._bokeh_onload_callbacks.forEach(function(callback) {\n",
       "        if (callback != null)\n",
       "          callback();\n",
       "      });\n",
       "    } finally {\n",
       "      delete root._bokeh_onload_callbacks\n",
       "    }\n",
       "    console.debug(\"Bokeh: all callbacks have finished\");\n",
       "  }\n",
       "\n",
       "  function load_libs(css_urls, js_urls, callback) {\n",
       "    if (css_urls == null) css_urls = [];\n",
       "    if (js_urls == null) js_urls = [];\n",
       "\n",
       "    root._bokeh_onload_callbacks.push(callback);\n",
       "    if (root._bokeh_is_loading > 0) {\n",
       "      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
       "      return null;\n",
       "    }\n",
       "    if (js_urls == null || js_urls.length === 0) {\n",
       "      run_callbacks();\n",
       "      return null;\n",
       "    }\n",
       "    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
       "    root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
       "\n",
       "    function on_load() {\n",
       "      root._bokeh_is_loading--;\n",
       "      if (root._bokeh_is_loading === 0) {\n",
       "        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
       "        run_callbacks()\n",
       "      }\n",
       "    }\n",
       "\n",
       "    function on_error() {\n",
       "      console.error(\"failed to load \" + url);\n",
       "    }\n",
       "\n",
       "    for (var i = 0; i < css_urls.length; i++) {\n",
       "      var url = css_urls[i];\n",
       "      const element = document.createElement(\"link\");\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.rel = \"stylesheet\";\n",
       "      element.type = \"text/css\";\n",
       "      element.href = url;\n",
       "      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
       "      document.body.appendChild(element);\n",
       "    }\n",
       "\n",
       "    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n",
       "\n",
       "    for (var i = 0; i < js_urls.length; i++) {\n",
       "      var url = js_urls[i];\n",
       "      var element = document.createElement('script');\n",
       "      element.onload = on_load;\n",
       "      element.onerror = on_error;\n",
       "      element.async = false;\n",
       "      element.src = url;\n",
       "      if (url in hashes) {\n",
       "        element.crossOrigin = \"anonymous\";\n",
       "        element.integrity = \"sha384-\" + hashes[url];\n",
       "      }\n",
       "      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
       "      document.head.appendChild(element);\n",
       "    }\n",
       "  };\n",
       "\n",
       "  function inject_raw_css(css) {\n",
       "    const element = document.createElement(\"style\");\n",
       "    element.appendChild(document.createTextNode(css));\n",
       "    document.body.appendChild(element);\n",
       "  }\n",
       "\n",
       "  \n",
       "  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n",
       "  var css_urls = [];\n",
       "  \n",
       "\n",
       "  var inline_js = [\n",
       "    function(Bokeh) {\n",
       "      Bokeh.set_log_level(\"info\");\n",
       "    },\n",
       "    function(Bokeh) {\n",
       "    \n",
       "    \n",
       "    }\n",
       "  ];\n",
       "\n",
       "  function run_inline_js() {\n",
       "    \n",
       "    if (root.Bokeh !== undefined || force === true) {\n",
       "      \n",
       "    for (var i = 0; i < inline_js.length; i++) {\n",
       "      inline_js[i].call(root, root.Bokeh);\n",
       "    }\n",
       "    if (force === true) {\n",
       "        display_loaded();\n",
       "      }} else if (Date.now() < root._bokeh_timeout) {\n",
       "      setTimeout(run_inline_js, 100);\n",
       "    } else if (!root._bokeh_failed_load) {\n",
       "      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
       "      root._bokeh_failed_load = true;\n",
       "    } else if (force !== true) {\n",
       "      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n",
       "      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
       "    }\n",
       "\n",
       "  }\n",
       "\n",
       "  if (root._bokeh_is_loading === 0) {\n",
       "    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
       "    run_inline_js();\n",
       "  } else {\n",
       "    load_libs(css_urls, js_urls, function() {\n",
       "      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
       "      run_inline_js();\n",
       "    });\n",
       "  }\n",
       "}(window));"
      ],
      "application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n  function now() {\n    return new Date();\n  }\n\n  var force = true;\n\n  if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n    root._bokeh_onload_callbacks = [];\n    root._bokeh_is_loading = undefined;\n  }\n\n  \n\n  \n  if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n    root._bokeh_timeout = Date.now() + 5000;\n    root._bokeh_failed_load = false;\n  }\n\n  var NB_LOAD_WARNING = {'data': {'text/html':\n     \"<div style='background-color: #fdd'>\\n\"+\n     \"<p>\\n\"+\n     \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n     \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n     \"</p>\\n\"+\n     \"<ul>\\n\"+\n     \"<li>re-rerun `output_notebook()` to attempt to load from CDN again, or</li>\\n\"+\n     \"<li>use INLINE resources instead, as so:</li>\\n\"+\n     \"</ul>\\n\"+\n     \"<code>\\n\"+\n     \"from bokeh.resources import INLINE\\n\"+\n     \"output_notebook(resources=INLINE)\\n\"+\n     \"</code>\\n\"+\n     \"</div>\"}};\n\n  function display_loaded() {\n    var el = document.getElementById(\"1001\");\n    if (el != null) {\n      el.textContent = \"BokehJS is loading...\";\n    }\n    if (root.Bokeh !== undefined) {\n      if (el != null) {\n        el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n      }\n    } else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(display_loaded, 100)\n    }\n  }\n\n\n  function run_callbacks() {\n    try {\n      root._bokeh_onload_callbacks.forEach(function(callback) {\n        if (callback != null)\n          callback();\n      });\n    } finally {\n      delete root._bokeh_onload_callbacks\n    }\n    console.debug(\"Bokeh: all callbacks have finished\");\n  }\n\n  function load_libs(css_urls, js_urls, callback) {\n    if (css_urls == null) css_urls = [];\n    if (js_urls == null) js_urls = [];\n\n    root._bokeh_onload_callbacks.push(callback);\n    if (root._bokeh_is_loading > 0) {\n      console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n      return null;\n    }\n    if (js_urls == null || js_urls.length === 0) {\n      run_callbacks();\n      return null;\n    }\n    console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n    root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n    function on_load() {\n      root._bokeh_is_loading--;\n      if (root._bokeh_is_loading === 0) {\n        console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n        run_callbacks()\n      }\n    }\n\n    function on_error() {\n      console.error(\"failed to load \" + url);\n    }\n\n    for (var i = 0; i < css_urls.length; i++) {\n      var url = css_urls[i];\n      const element = document.createElement(\"link\");\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.rel = \"stylesheet\";\n      element.type = \"text/css\";\n      element.href = url;\n      console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n      document.body.appendChild(element);\n    }\n\n    const hashes = {\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\": \"kLr4fYcqcSpbuI95brIH3vnnYCquzzSxHPU6XGQCIkQRGJwhg0StNbj1eegrHs12\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\": \"xIGPmVtaOm+z0BqfSOMn4lOR6ciex448GIKG4eE61LsAvmGj48XcMQZtKcE/UXZe\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\": \"Dc9u1wF/0zApGIWoBbH77iWEHtdmkuYWG839Uzmv8y8yBLXebjO9ZnERsde5Ln/P\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\": \"cT9JaBz7GiRXdENrJLZNSC6eMNF3nh3fa5fTF51Svp+ukxPdwcU5kGXGPBgDCa2j\"};\n\n    for (var i = 0; i < js_urls.length; i++) {\n      var url = js_urls[i];\n      var element = document.createElement('script');\n      element.onload = on_load;\n      element.onerror = on_error;\n      element.async = false;\n      element.src = url;\n      if (url in hashes) {\n        element.crossOrigin = \"anonymous\";\n        element.integrity = \"sha384-\" + hashes[url];\n      }\n      console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n      document.head.appendChild(element);\n    }\n  };\n\n  function inject_raw_css(css) {\n    const element = document.createElement(\"style\");\n    element.appendChild(document.createTextNode(css));\n    document.body.appendChild(element);\n  }\n\n  \n  var js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.1.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.1.1.min.js\"];\n  var css_urls = [];\n  \n\n  var inline_js = [\n    function(Bokeh) {\n      Bokeh.set_log_level(\"info\");\n    },\n    function(Bokeh) {\n    \n    \n    }\n  ];\n\n  function run_inline_js() {\n    \n    if (root.Bokeh !== undefined || force === true) {\n      \n    for (var i = 0; i < inline_js.length; i++) {\n      inline_js[i].call(root, root.Bokeh);\n    }\n    if (force === true) {\n        display_loaded();\n      }} else if (Date.now() < root._bokeh_timeout) {\n      setTimeout(run_inline_js, 100);\n    } else if (!root._bokeh_failed_load) {\n      console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n      root._bokeh_failed_load = true;\n    } else if (force !== true) {\n      var cell = $(document.getElementById(\"1001\")).parents('.cell').data().cell;\n      cell.output_area.append_execute_result(NB_LOAD_WARNING)\n    }\n\n  }\n\n  if (root._bokeh_is_loading === 0) {\n    console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n    run_inline_js();\n  } else {\n    load_libs(css_urls, js_urls, function() {\n      console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n      run_inline_js();\n    });\n  }\n}(window));"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from bokeh.plotting import figure,output_notebook,show\n",
    "output_notebook()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 折线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"12a82824-9a35-4285-ac03-25f7511391f4\" data-root-id=\"1002\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"8fd95603-0bd3-49d6-8c82-da9a63401ed5\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1013\"}],\"center\":[{\"id\":\"1016\"},{\"id\":\"1020\"},{\"id\":\"1048\"}],\"left\":[{\"id\":\"1017\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"1038\"}],\"title\":{\"id\":\"1003\"},\"toolbar\":{\"id\":\"1028\"},\"x_range\":{\"id\":\"1005\"},\"x_scale\":{\"id\":\"1009\"},\"y_range\":{\"id\":\"1007\"},\"y_scale\":{\"id\":\"1011\"}},\"id\":\"1002\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1021\"},{\"id\":\"1022\"},{\"id\":\"1023\"},{\"id\":\"1024\"},{\"id\":\"1025\"},{\"id\":\"1026\"}]},\"id\":\"1028\",\"type\":\"Toolbar\"},{\"attributes\":{\"overlay\":{\"id\":\"1027\"}},\"id\":\"1023\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1024\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1037\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1026\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1025\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1045\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"items\":[{\"id\":\"1049\"}]},\"id\":\"1048\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1046\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1022\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1035\"},\"glyph\":{\"id\":\"1036\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1037\"},\"selection_glyph\":null,\"view\":{\"id\":\"1039\"}},\"id\":\"1038\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1035\"}},\"id\":\"1039\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1027\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data\":{\"x\":[1,2,3,4,5,7,9],\"y\":[6,7,8,5,4,6,4]},\"selected\":{\"id\":\"1046\"},\"selection_policy\":{\"id\":\"1045\"}},\"id\":\"1035\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"Temp\"},\"renderers\":[{\"id\":\"1038\"}]},\"id\":\"1049\",\"type\":\"LegendItem\"},{\"attributes\":{\"axis_label\":\"x\",\"formatter\":{\"id\":\"1041\"},\"ticker\":{\"id\":\"1014\"}},\"id\":\"1013\",\"type\":\"LinearAxis\"},{\"attributes\":{\"text\":\"line example\"},\"id\":\"1003\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1005\",\"type\":\"DataRange1d\"},{\"attributes\":{\"axis_label\":\"y\",\"formatter\":{\"id\":\"1043\"},\"ticker\":{\"id\":\"1018\"}},\"id\":\"1017\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1007\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1011\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1041\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1014\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1018\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1009\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1013\"},\"ticker\":null},\"id\":\"1016\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1043\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1021\",\"type\":\"PanTool\"},{\"attributes\":{\"axis\":{\"id\":\"1017\"},\"dimension\":1,\"ticker\":null},\"id\":\"1020\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1036\",\"type\":\"Line\"}],\"root_ids\":[\"1002\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"8fd95603-0bd3-49d6-8c82-da9a63401ed5\",\"root_ids\":[\"1002\"],\"roots\":{\"1002\":\"12a82824-9a35-4285-ac03-25f7511391f4\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1002"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 数据\n",
    "x = [1,2,3,4,5,7,9]\n",
    "y = [6,7,8,5,4,6,4]\n",
    "\n",
    "# 画布\n",
    "p = figure(title=\"line example\",\n",
    "           x_axis_label='x',\n",
    "           y_axis_label='y',\n",
    "        width=300,\n",
    "          height=300\n",
    "          )\n",
    "\n",
    "# 在画布上绘制图形\n",
    "p.line(x,y,legend=\"Temp\",line_width=2)  # 画一组数据\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"f9daec35-1ce9-479a-8784-a2310fc3f4e9\" data-root-id=\"1106\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"28868ab1-6db4-48d8-85f7-f809fc75d717\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1117\"}],\"center\":[{\"id\":\"1120\"},{\"id\":\"1124\"}],\"left\":[{\"id\":\"1121\"}],\"plot_height\":300,\"plot_width\":300,\"renderers\":[{\"id\":\"1142\"}],\"title\":{\"id\":\"1107\"},\"toolbar\":{\"id\":\"1132\"},\"x_range\":{\"id\":\"1109\"},\"x_scale\":{\"id\":\"1113\"},\"y_range\":{\"id\":\"1111\"},\"y_scale\":{\"id\":\"1115\"}},\"id\":\"1106\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1131\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data_source\":{\"id\":\"1139\"},\"glyph\":{\"id\":\"1140\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1141\"},\"selection_glyph\":null,\"view\":{\"id\":\"1143\"}},\"id\":\"1142\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"multi_line\"},\"id\":\"1107\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1118\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1126\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1125\",\"type\":\"PanTool\"},{\"attributes\":{\"formatter\":{\"id\":\"1153\"},\"ticker\":{\"id\":\"1118\"}},\"id\":\"1117\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1115\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1111\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1113\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis\":{\"id\":\"1117\"},\"ticker\":null},\"id\":\"1120\",\"type\":\"Grid\"},{\"attributes\":{\"formatter\":{\"id\":\"1155\"},\"ticker\":{\"id\":\"1122\"}},\"id\":\"1121\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1153\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1122\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1121\"},\"dimension\":1,\"ticker\":null},\"id\":\"1124\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1125\"},{\"id\":\"1126\"},{\"id\":\"1127\"},{\"id\":\"1128\"},{\"id\":\"1129\"},{\"id\":\"1130\"}]},\"id\":\"1132\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1155\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data\":{\"line_alpha\":[0.4,0.8],\"line_color\":[\"firebrick\",\"navy\"],\"xs\":[[2,4,6,7],[3,5,7,8,9,12]],\"ys\":[[3,4,2,1],[2,4,5,6,7,5]]},\"selected\":{\"id\":\"1158\"},\"selection_policy\":{\"id\":\"1157\"}},\"id\":\"1139\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1130\",\"type\":\"HelpTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1131\"}},\"id\":\"1127\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1128\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1109\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":{\"field\":\"line_alpha\"},\"line_color\":{\"field\":\"line_color\"},\"xs\":{\"field\":\"xs\"},\"ys\":{\"field\":\"ys\"}},\"id\":\"1140\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"1129\",\"type\":\"ResetTool\"},{\"attributes\":{\"source\":{\"id\":\"1139\"}},\"id\":\"1143\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1157\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":{\"value\":0.1},\"line_color\":{\"field\":\"line_color\"},\"xs\":{\"field\":\"xs\"},\"ys\":{\"field\":\"ys\"}},\"id\":\"1141\",\"type\":\"MultiLine\"},{\"attributes\":{},\"id\":\"1158\",\"type\":\"Selection\"}],\"root_ids\":[\"1106\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"28868ab1-6db4-48d8-85f7-f809fc75d717\",\"root_ids\":[\"1106\"],\"roots\":{\"1106\":\"f9daec35-1ce9-479a-8784-a2310fc3f4e9\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1106"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 多线条折线图\n",
    "x = [[2,4,6,7],[3,5,7,8,9,12]]\n",
    "y = [[3,4,2,1],[2,4,5,6,7,5]]\n",
    "\n",
    "# 画布\n",
    "p = figure(title=\"multi_line\",plot_width=300,plot_height=300)\n",
    "p.multi_line(x,y,color=['firebrick','navy'],alpha=[0.4,0.8])\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 折线图实践"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 示例代码（数学模型）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"0a674ce8-066a-4e2f-96fa-5c872c0f87b9\" data-root-id=\"1208\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"25d966bd-4958-47b9-aa5a-431d3909d237\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1219\"}],\"center\":[{\"id\":\"1222\"},{\"id\":\"1226\"},{\"id\":\"1250\"}],\"left\":[{\"id\":\"1223\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1240\"},{\"id\":\"1255\"},{\"id\":\"1270\"},{\"id\":\"1288\"},{\"id\":\"1308\"},{\"id\":\"1329\"}],\"title\":{\"id\":\"1209\"},\"toolbar\":{\"id\":\"1232\"},\"x_range\":{\"id\":\"1211\"},\"x_scale\":{\"id\":\"1215\"},\"y_range\":{\"id\":\"1213\"},\"y_scale\":{\"id\":\"1217\"}},\"id\":\"1208\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"text\":\"log axis example\"},\"id\":\"1209\",\"type\":\"Title\"},{\"attributes\":{\"label\":{\"value\":\"y=10^x\"},\"renderers\":[{\"id\":\"1288\"},{\"id\":\"1308\"}]},\"id\":\"1304\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1211\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1287\",\"type\":\"Line\"},{\"attributes\":{\"ticker\":null},\"id\":\"1245\",\"type\":\"LogTickFormatter\"},{\"attributes\":{\"data\":{\"x\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0],\"y\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0]},\"selected\":{\"id\":\"1265\"},\"selection_policy\":{\"id\":\"1264\"}},\"id\":\"1252\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1285\"}},\"id\":\"1289\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1324\",\"type\":\"Selection\"},{\"attributes\":{\"axis\":{\"id\":\"1219\"},\"ticker\":null},\"id\":\"1222\",\"type\":\"Grid\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1253\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1227\",\"type\":\"PanTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1238\",\"type\":\"Line\"},{\"attributes\":{\"click_policy\":\"hide\",\"items\":[{\"id\":\"1251\"},{\"id\":\"1284\"},{\"id\":\"1304\"},{\"id\":\"1349\"}],\"location\":\"top_left\"},\"id\":\"1250\",\"type\":\"Legend\"},{\"attributes\":{\"axis\":{\"id\":\"1223\"},\"dimension\":1,\"ticker\":null},\"id\":\"1226\",\"type\":\"Grid\"},{\"attributes\":{\"line_color\":\"orange\",\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1327\",\"type\":\"Line\"},{\"attributes\":{\"label\":{\"value\":\"y=x\"},\"renderers\":[{\"id\":\"1240\"},{\"id\":\"1255\"}]},\"id\":\"1251\",\"type\":\"LegendItem\"},{\"attributes\":{\"data\":{\"x\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0],\"y\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0]},\"selected\":{\"id\":\"1248\"},\"selection_policy\":{\"id\":\"1247\"}},\"id\":\"1237\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1239\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1237\"}},\"id\":\"1241\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1231\"}},\"id\":\"1228\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1264\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1301\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1247\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1265\",\"type\":\"Selection\"},{\"attributes\":{\"line_color\":\"#FFB6C1\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1268\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1302\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1229\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1248\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1230\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#FFB6C1\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1269\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"1326\"}},\"id\":\"1330\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"1285\"},\"glyph\":{\"id\":\"1286\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1287\"},\"selection_glyph\":null,\"view\":{\"id\":\"1289\"}},\"id\":\"1288\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"fill_color\":{\"value\":\"white\"},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1306\",\"type\":\"Circle\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"orange\",\"line_dash\":[4,4],\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1328\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0],\"y\":[1.2589254117941673,3.1622776601683795,10.0,31.622776601683793,100.0,316.22776601683796,1000.0]},\"selected\":{\"id\":\"1302\"},\"selection_policy\":{\"id\":\"1301\"}},\"id\":\"1285\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"y=10^x^2\"},\"renderers\":[{\"id\":\"1329\"}]},\"id\":\"1349\",\"type\":\"LegendItem\"},{\"attributes\":{\"data\":{\"x\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0],\"y\":[0.010000000000000002,0.25,1.0,2.25,4.0,6.25,9.0]},\"selected\":{\"id\":\"1282\"},\"selection_policy\":{\"id\":\"1281\"}},\"id\":\"1267\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1323\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"source\":{\"id\":\"1267\"}},\"id\":\"1271\",\"type\":\"CDSView\"},{\"attributes\":{\"data\":{\"x\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0],\"y\":[1.023292992280754,1.7782794100389228,10.0,177.82794100389228,10000.0,1778279.410038923,1000000000.0]},\"selected\":{\"id\":\"1347\"},\"selection_policy\":{\"id\":\"1346\"}},\"id\":\"1326\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1281\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1346\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"y=x^2\"},\"renderers\":[{\"id\":\"1270\"}]},\"id\":\"1284\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1282\",\"type\":\"Selection\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"red\"},\"size\":{\"units\":\"screen\",\"value\":6},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1307\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1347\",\"type\":\"Selection\"},{\"attributes\":{\"data_source\":{\"id\":\"1305\"},\"glyph\":{\"id\":\"1306\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1307\"},\"selection_glyph\":null,\"view\":{\"id\":\"1309\"}},\"id\":\"1308\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1231\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1227\"},{\"id\":\"1228\"},{\"id\":\"1229\"},{\"id\":\"1230\"}]},\"id\":\"1232\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"1305\"}},\"id\":\"1309\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1286\",\"type\":\"Line\"},{\"attributes\":{\"data\":{\"x\":[0.1,0.5,1.0,1.5,2.0,2.5,3.0],\"y\":[1.2589254117941673,3.1622776601683795,10.0,31.622776601683793,100.0,316.22776601683796,1000.0]},\"selected\":{\"id\":\"1324\"},\"selection_policy\":{\"id\":\"1323\"}},\"id\":\"1305\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"1252\"},\"glyph\":{\"id\":\"1253\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1254\"},\"selection_glyph\":null,\"view\":{\"id\":\"1256\"}},\"id\":\"1255\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"section\",\"formatter\":{\"id\":\"1243\"},\"ticker\":{\"id\":\"1220\"}},\"id\":\"1219\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"1267\"},\"glyph\":{\"id\":\"1268\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1269\"},\"selection_glyph\":null,\"view\":{\"id\":\"1271\"}},\"id\":\"1270\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"num_minor_ticks\":10},\"id\":\"1224\",\"type\":\"LogTicker\"},{\"attributes\":{},\"id\":\"1220\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"particles\",\"formatter\":{\"id\":\"1245\"},\"ticker\":{\"id\":\"1224\"}},\"id\":\"1223\",\"type\":\"LogAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"1237\"},\"glyph\":{\"id\":\"1238\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1239\"},\"selection_glyph\":null,\"view\":{\"id\":\"1241\"}},\"id\":\"1240\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1217\",\"type\":\"LogScale\"},{\"attributes\":{},\"id\":\"1243\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1213\",\"type\":\"DataRange1d\"},{\"attributes\":{\"fill_alpha\":{\"value\":0.1},\"fill_color\":{\"value\":\"white\"},\"line_alpha\":{\"value\":0.1},\"line_color\":{\"value\":\"#1f77b4\"},\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1254\",\"type\":\"Circle\"},{\"attributes\":{},\"id\":\"1215\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1252\"}},\"id\":\"1256\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"1326\"},\"glyph\":{\"id\":\"1327\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1328\"},\"selection_glyph\":null,\"view\":{\"id\":\"1330\"}},\"id\":\"1329\",\"type\":\"GlyphRenderer\"}],\"root_ids\":[\"1208\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"25d966bd-4958-47b9-aa5a-431d3909d237\",\"root_ids\":[\"1208\"],\"roots\":{\"1208\":\"0a674ce8-066a-4e2f-96fa-5c872c0f87b9\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1208"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]\n",
    "y0 = [i**2 for i in x]\n",
    "y1 = [10**i for i in x]\n",
    "y2 = [10**(i**2) for i in x]\n",
    "\n",
    "\n",
    "p = figure(\n",
    "    tools=\"pan,box_zoom,reset,save\",\n",
    "    y_axis_type=\"log\",title=\"log axis example\",\n",
    "    x_axis_label=\"section\",y_axis_label=\"particles\",\n",
    "    width=400,height=400\n",
    ")\n",
    "# p.line(x,y0)\n",
    "p.line(x,x,legend=\"y=x\")\n",
    "p.circle(x,x,legend=\"y=x\",fill_color=\"white\",size=4)\n",
    "p.line(x,y0,legend=\"y=x^2\",line_color=\"#FFB6C1\")\n",
    "p.line(x,y1,legend=\"y=10^x\",line_color=\"red\")\n",
    "p.circle(x,y1,legend=\"y=10^x\",fill_color=\"white\",color=\"red\",size=6)\n",
    "p.line(x,y2,legend=\"y=10^x^2\",line_color=\"orange\",line_dash=\"4 4\")\n",
    "\n",
    "# 图例设置\n",
    "p.legend.location=\"top_left\"\n",
    "p.legend.click_policy=\"hide\"\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 示例代码2：us_marriages_divorces"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bokeh.models import ColumnDataSource, NumeralTickFormatter, SingleIntervalTicker\n",
    "from bokeh.sampledata.us_marriages_divorces import data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Year</th>\n",
       "      <th>Marriages</th>\n",
       "      <th>Divorces</th>\n",
       "      <th>Population</th>\n",
       "      <th>Marriages_per_1000</th>\n",
       "      <th>Divorces_per_1000</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1867</td>\n",
       "      <td>357000.0</td>\n",
       "      <td>10000.0</td>\n",
       "      <td>36970000</td>\n",
       "      <td>9.7</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1868</td>\n",
       "      <td>345000.0</td>\n",
       "      <td>10000.0</td>\n",
       "      <td>37885000</td>\n",
       "      <td>9.1</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1869</td>\n",
       "      <td>348000.0</td>\n",
       "      <td>11000.0</td>\n",
       "      <td>38870000</td>\n",
       "      <td>9.0</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1870</td>\n",
       "      <td>352000.0</td>\n",
       "      <td>11000.0</td>\n",
       "      <td>39905000</td>\n",
       "      <td>8.8</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1871</td>\n",
       "      <td>359000.0</td>\n",
       "      <td>12000.0</td>\n",
       "      <td>41010000</td>\n",
       "      <td>8.8</td>\n",
       "      <td>0.3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>140</th>\n",
       "      <td>2007</td>\n",
       "      <td>2197000.0</td>\n",
       "      <td>856000.0</td>\n",
       "      <td>301696000</td>\n",
       "      <td>7.3</td>\n",
       "      <td>2.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>141</th>\n",
       "      <td>2008</td>\n",
       "      <td>2157000.0</td>\n",
       "      <td>844000.0</td>\n",
       "      <td>304543000</td>\n",
       "      <td>7.1</td>\n",
       "      <td>2.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>142</th>\n",
       "      <td>2009</td>\n",
       "      <td>2080000.0</td>\n",
       "      <td>840000.0</td>\n",
       "      <td>307240000</td>\n",
       "      <td>6.8</td>\n",
       "      <td>2.7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>143</th>\n",
       "      <td>2010</td>\n",
       "      <td>2096000.0</td>\n",
       "      <td>872000.0</td>\n",
       "      <td>309776000</td>\n",
       "      <td>6.8</td>\n",
       "      <td>2.8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>144</th>\n",
       "      <td>2011</td>\n",
       "      <td>2118000.0</td>\n",
       "      <td>877000.0</td>\n",
       "      <td>312034000</td>\n",
       "      <td>6.8</td>\n",
       "      <td>2.8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>145 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     Year  Marriages  Divorces  Population  Marriages_per_1000  \\\n",
       "0    1867   357000.0   10000.0    36970000                 9.7   \n",
       "1    1868   345000.0   10000.0    37885000                 9.1   \n",
       "2    1869   348000.0   11000.0    38870000                 9.0   \n",
       "3    1870   352000.0   11000.0    39905000                 8.8   \n",
       "4    1871   359000.0   12000.0    41010000                 8.8   \n",
       "..    ...        ...       ...         ...                 ...   \n",
       "140  2007  2197000.0  856000.0   301696000                 7.3   \n",
       "141  2008  2157000.0  844000.0   304543000                 7.1   \n",
       "142  2009  2080000.0  840000.0   307240000                 6.8   \n",
       "143  2010  2096000.0  872000.0   309776000                 6.8   \n",
       "144  2011  2118000.0  877000.0   312034000                 6.8   \n",
       "\n",
       "     Divorces_per_1000  \n",
       "0                  0.3  \n",
       "1                  0.3  \n",
       "2                  0.3  \n",
       "3                  0.3  \n",
       "4                  0.3  \n",
       "..                 ...  \n",
       "140                2.8  \n",
       "141                2.8  \n",
       "142                2.7  \n",
       "143                2.8  \n",
       "144                2.8  \n",
       "\n",
       "[145 rows x 6 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = data.interpolate(method='linear',axis=0).ffill().bfill() # 填充空缺值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877,\n",
       "       1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888,\n",
       "       1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899,\n",
       "       1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,\n",
       "       1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,\n",
       "       1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932,\n",
       "       1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943,\n",
       "       1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954,\n",
       "       1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965,\n",
       "       1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976,\n",
       "       1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987,\n",
       "       1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,\n",
       "       1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,\n",
       "       2010, 2011], dtype=int64)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.Year.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 357000.        ,  345000.        ,  348000.        ,\n",
       "        352000.        ,  359000.        ,  378000.        ,\n",
       "        386000.        ,  385000.        ,  409000.        ,\n",
       "        405000.        ,  411000.        ,  423000.        ,\n",
       "        438000.        ,  453000.        ,  464000.        ,\n",
       "        484000.        ,  501000.        ,  485000.        ,\n",
       "        507000.        ,  534000.        ,  513000.        ,\n",
       "        535000.        ,  563000.        ,  570000.        ,\n",
       "        592000.        ,  601000.        ,  601000.        ,\n",
       "        588000.        ,  620000.        ,  635000.        ,\n",
       "        643000.        ,  647000.        ,  673000.        ,\n",
       "        709000.        ,  742000.        ,  776000.        ,\n",
       "        818000.        ,  815000.        ,  842000.        ,\n",
       "        895000.        ,  937000.        ,  857000.        ,\n",
       "        897000.        ,  948000.        ,  955000.        ,\n",
       "       1005000.        , 1021000.        , 1025000.        ,\n",
       "       1008000.        , 1076000.        , 1144000.        ,\n",
       "       1000000.        , 1150000.        , 1274000.        ,\n",
       "       1164000.        , 1134000.        , 1230000.        ,\n",
       "       1185000.        , 1188000.        , 1203000.        ,\n",
       "       1201000.        , 1182000.        , 1233000.        ,\n",
       "       1127000.        , 1061000.        ,  982000.        ,\n",
       "       1098000.        , 1302000.        , 1327000.        ,\n",
       "       1369000.        , 1451000.        , 1331000.        ,\n",
       "       1404000.        , 1596000.        , 1696000.        ,\n",
       "       1772000.        , 1577000.        , 1452000.        ,\n",
       "       1613000.        , 2291000.        , 1992000.        ,\n",
       "       1811000.        , 1580000.        , 1667000.        ,\n",
       "       1595000.        , 1539000.        , 1546000.        ,\n",
       "       1490000.        , 1531000.        , 1585000.        ,\n",
       "       1518000.        , 1451000.        , 1494000.        ,\n",
       "       1523000.        , 1548000.        , 1577000.        ,\n",
       "       1654000.        , 1725000.        , 1800000.        ,\n",
       "       1857000.        , 1927000.        , 2069000.        ,\n",
       "       2145000.        , 2185802.        , 2190481.        ,\n",
       "       2282154.        , 2284108.        , 2245929.        ,\n",
       "       2159810.        , 2159051.        , 2180861.        ,\n",
       "       2293079.        , 2341102.        , 2413896.        ,\n",
       "       2438085.        , 2452769.        , 2467453.        ,\n",
       "       2482137.        , 2408911.        , 2406830.        ,\n",
       "       2404146.        , 2377092.        , 2399654.        ,\n",
       "       2451774.        , 2383182.        , 2389375.        ,\n",
       "       2342538.        , 2397441.        , 2392960.66666667,\n",
       "       2388480.33333333, 2384000.        , 2244000.        ,\n",
       "       2358000.        , 2315000.        , 2326000.        ,\n",
       "       2290000.        , 2245000.        , 2279000.        ,\n",
       "       2249000.        , 2193000.        , 2197000.        ,\n",
       "       2157000.        , 2080000.        , 2096000.        ,\n",
       "       2118000.        ])"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.Marriages.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'year': array([1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877,\n",
       "        1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888,\n",
       "        1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899,\n",
       "        1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910,\n",
       "        1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921,\n",
       "        1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932,\n",
       "        1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943,\n",
       "        1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954,\n",
       "        1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965,\n",
       "        1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976,\n",
       "        1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987,\n",
       "        1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,\n",
       "        1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,\n",
       "        2010, 2011], dtype=int64),\n",
       " 'marriages': array([ 9.7       ,  9.1       ,  9.        ,  8.8       ,  8.8       ,\n",
       "         9.        ,  8.9       ,  8.7       ,  9.        ,  8.7       ,\n",
       "         8.7       ,  8.8       ,  8.9       ,  9.        ,  9.        ,\n",
       "         9.2       ,  9.2       ,  8.7       ,  8.9       ,  9.2       ,\n",
       "         8.6       ,  8.8       ,  9.1       ,  9.        ,  9.2       ,\n",
       "         9.1       ,  8.9       ,  8.5       ,  8.8       ,  8.9       ,\n",
       "         8.9       ,  8.8       ,  9.        ,  9.3       ,  9.6       ,\n",
       "         9.8       , 10.1       ,  9.9       , 10.        , 10.5       ,\n",
       "        10.8       ,  9.7       ,  9.9       , 10.3       , 10.2       ,\n",
       "        10.5       , 10.5       , 10.3       , 10.        , 10.6       ,\n",
       "        11.1       ,  9.6       , 10.9       , 12.        , 10.7       ,\n",
       "        10.3       , 11.        , 10.4       , 10.3       , 10.2       ,\n",
       "        10.1       ,  9.8       , 10.1       ,  9.1       ,  8.5       ,\n",
       "         7.9       ,  8.7       , 10.3       , 10.4       , 10.7       ,\n",
       "        11.3       , 10.2       , 10.7       , 12.1       , 12.7       ,\n",
       "        13.1       , 11.5       , 10.5       , 11.5       , 16.2       ,\n",
       "        13.8       , 12.4       , 10.6       , 11.        , 10.3       ,\n",
       "         9.8       ,  9.7       ,  9.2       ,  9.3       ,  9.4       ,\n",
       "         8.9       ,  8.3       ,  8.4       ,  8.4       ,  8.4       ,\n",
       "         8.5       ,  8.7       ,  9.        ,  9.3       ,  9.4       ,\n",
       "         9.7       , 10.3       , 10.6       , 10.7       , 10.5       ,\n",
       "        10.9       , 10.8       , 10.5       , 10.        ,  9.9       ,\n",
       "         9.9       , 10.3       , 10.4       , 10.6       , 10.6       ,\n",
       "        10.56666667, 10.53333333, 10.5       , 10.1       , 10.        ,\n",
       "         9.9       ,  9.7       ,  9.7       ,  9.8       ,  9.4       ,\n",
       "         9.3       ,  9.        ,  9.1       ,  8.96666667,  8.83333333,\n",
       "         8.7       ,  8.1       ,  8.4       ,  8.2       ,  8.2       ,\n",
       "         8.        ,  7.7       ,  7.8       ,  7.6       ,  7.3       ,\n",
       "         7.3       ,  7.1       ,  6.8       ,  6.8       ,  6.8       ]),\n",
       " 'divorces': array([0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3,\n",
       "        0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.5, 0.5, 0.5, 0.5, 0.6, 0.6,\n",
       "        0.5, 0.6, 0.6, 0.6, 0.6, 0.7, 0.7, 0.7, 0.8, 0.8, 0.8, 0.8, 0.8,\n",
       "        0.8, 0.9, 0.9, 0.9, 0.9, 0.9, 1. , 0.9, 1. , 1. , 1.1, 1.2, 1.1,\n",
       "        1.4, 1.6, 1.5, 1.4, 1.5, 1.5, 1.5, 1.6, 1.6, 1.7, 1.7, 1.6, 1.5,\n",
       "        1.3, 1.3, 1.6, 1.7, 1.8, 1.9, 1.9, 1.9, 2. , 2.2, 2.4, 2.6, 2.9,\n",
       "        3.5, 4.3, 3.4, 2.8, 2.7, 2.5, 2.5, 2.5, 2.4, 2.3, 2.3, 2.3, 2.2,\n",
       "        2.1, 2.2, 2.2, 2.3, 2.2, 2.3, 2.3, 2.5, 2.5, 2.6, 2.9, 3.2, 3.5,\n",
       "        3.7, 4. , 4.3, 4.6, 4.8, 5. , 5. , 5.1, 5.3, 5.2, 5.3, 5.2, 5.1,\n",
       "        5. , 5. , 4.9, 4.8, 4.7, 4.7, 4.7, 4.7, 4.8, 4.6, 4.6, 4.5, 4.4,\n",
       "        4.3, 4.1, 4.1, 3.3, 3.3, 3.3, 3.2, 3. , 2.9, 2.9, 2.8, 2.8, 2.7,\n",
       "        2.8, 2.8])}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dict(\n",
    "    year = data.Year.values,\n",
    "    marriages = data.Marriages_per_1000.values,\n",
    "    divorces = data.Divorces_per_1000.values\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "source = ColumnDataSource(data = dict(\n",
    "    year = data.Year.values,\n",
    "    marriages = data.Marriages_per_1000.values,\n",
    "    divorces = data.Divorces_per_1000.values\n",
    "))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div style=\"display: table;\"><div style=\"display: table-row;\"><div style=\"display: table-cell;\"><b title=\"bokeh.models.sources.ColumnDataSource\">ColumnDataSource</b>(</div><div style=\"display: table-cell;\">id&nbsp;=&nbsp;'1492', <span id=\"1494\" style=\"cursor: pointer;\">&hellip;)</span></div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">data&nbsp;=&nbsp;{'marriages': {'__ndarray__': 'ZmZmZmZmI0AzMzMzMzMiQAAAAAAAACJAmpmZmZmZIUCamZmZmZkhQAAAAAAAACJAzczMzMzMIUBmZmZmZmYhQAAAAAAAACJAZmZmZmZmIUBmZmZmZmYhQJqZmZmZmSFAzczMzMzMIUAAAAAAAAAiQAAAAAAAACJAZmZmZmZmIkBmZmZmZmYiQGZmZmZmZiFAzczMzMzMIUBmZmZmZmYiQDMzMzMzMyFAmpmZmZmZIUAzMzMzMzMiQAAAAAAAACJAZmZmZmZmIkAzMzMzMzMiQM3MzMzMzCFAAAAAAAAAIUCamZmZmZkhQM3MzMzMzCFAzczMzMzMIUCamZmZmZkhQAAAAAAAACJAmpmZmZmZIkAzMzMzMzMjQJqZmZmZmSNAMzMzMzMzJEDNzMzMzMwjQAAAAAAAACRAAAAAAAAAJUCamZmZmZklQGZmZmZmZiNAzczMzMzMI0CamZmZmZkkQGZmZmZmZiRAAAAAAAAAJUAAAAAAAAAlQJqZmZmZmSRAAAAAAAAAJEAzMzMzMzMlQDMzMzMzMyZAMzMzMzMzI0DNzMzMzMwlQAAAAAAAAChAZmZmZmZmJUCamZmZmZkkQAAAAAAAACZAzczMzMzMJECamZmZmZkkQGZmZmZmZiRAMzMzMzMzJECamZmZmZkjQDMzMzMzMyRAMzMzMzMzIkAAAAAAAAAhQJqZmZmZmR9AZmZmZmZmIUCamZmZmZkkQM3MzMzMzCRAZmZmZmZmJUCamZmZmZkmQGZmZmZmZiRAZmZmZmZmJUAzMzMzMzMoQGZmZmZmZilAMzMzMzMzKkAAAAAAAAAnQAAAAAAAACVAAAAAAAAAJ0AzMzMzMzMwQJqZmZmZmStAzczMzMzMKEAzMzMzMzMlQAAAAAAAACZAmpmZmZmZJECamZmZmZkjQGZmZmZmZiNAZmZmZmZmIkCamZmZmZkiQM3MzMzMzCJAzczMzMzMIUCamZmZmZkgQM3MzMzMzCBAzczMzMzMIEDNzMzMzMwgQAAAAAAAACFAZmZmZmZmIUAAAAAAAAAiQJqZmZmZmSJAzczMzMzMIkBmZmZmZmYjQJqZmZmZmSRAMzMzMzMzJUBmZmZmZmYlQAAAAAAAACVAzczMzMzMJUCamZmZmZklQAAAAAAAACVAAAAAAAAAJEDNzMzMzMwjQM3MzMzMzCNAmpmZmZmZJEDNzMzMzMwkQDMzMzMzMyVAMzMzMzMzJUAiIiIiIiIlQBERERERESVAAAAAAAAAJUAzMzMzMzMkQAAAAAAAACRAzczMzMzMI0BmZmZmZmYjQGZmZmZmZiNAmpmZmZmZI0DNzMzMzMwiQJqZmZmZmSJAAAAAAAAAIkAzMzMzMzMiQO/u7u7u7iFAqqqqqqqqIUBmZmZmZmYhQDMzMzMzMyBAzczMzMzMIEBmZmZmZmYgQGZmZmZmZiBAAAAAAAAAIEDNzMzMzMweQDMzMzMzMx9AZmZmZmZmHkAzMzMzMzMdQDMzMzMzMx1AZmZmZmZmHEAzMzMzMzMbQDMzMzMzMxtAMzMzMzMzG0A=', 'shape': (145,), 'dtype': 'float64', 'order': 'little'}, 'year': [1867, 1868, 1869, 1870, 1871, 1872, 1873, 1874, 1875, 1876, 1877, 1878, 1879, 1880, 1881, 1882, 1883, 1884, 1885, 1886, 1887, 1888, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904, 1905, 1906, 1907, 1908, 1909, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1917, 1918, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1926, 1927, 1928, 1929, 1930, 1931, 1932, 1933, 1934, 1935, 1936, 1937, 1938, 1939, 1940, 1941, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1949, 1950, 1951, 1952, 1953, 1954, 1955, 1956, 1957, 1958, 1959, 1960, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1968, 1969, 1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979, 1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011], 'divorces': {'__ndarray__': 'MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z+amZmZmZnZP5qZmZmZmdk/mpmZmZmZ2T+amZmZmZnZP5qZmZmZmdk/mpmZmZmZ2T+amZmZmZnZPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/MzMzMzMz4z8zMzMzMzPjPwAAAAAAAOA/MzMzMzMz4z8zMzMzMzPjPzMzMzMzM+M/MzMzMzMz4z9mZmZmZmbmP2ZmZmZmZuY/ZmZmZmZm5j+amZmZmZnpP5qZmZmZmek/mpmZmZmZ6T+amZmZmZnpP5qZmZmZmek/mpmZmZmZ6T/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/AAAAAAAA8D/NzMzMzMzsPwAAAAAAAPA/AAAAAAAA8D+amZmZmZnxPzMzMzMzM/M/mpmZmZmZ8T9mZmZmZmb2P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2PwAAAAAAAPg/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/mpmZmZmZ+T8zMzMzMzP7PzMzMzMzM/s/mpmZmZmZ+T8AAAAAAAD4P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5PzMzMzMzM/s/zczMzMzM/D9mZmZmZmb+P2ZmZmZmZv4/ZmZmZmZm/j8AAAAAAAAAQJqZmZmZmQFAMzMzMzMzA0DNzMzMzMwEQDMzMzMzMwdAAAAAAAAADEAzMzMzMzMRQDMzMzMzMwtAZmZmZmZmBkCamZmZmZkFQAAAAAAAAARAAAAAAAAABEAAAAAAAAAEQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmYCQGZmZmZmZgJAmpmZmZmZAUDNzMzMzMwAQJqZmZmZmQFAmpmZmZmZAUBmZmZmZmYCQJqZmZmZmQFAZmZmZmZmAkBmZmZmZmYCQAAAAAAAAARAAAAAAAAABEDNzMzMzMwEQDMzMzMzMwdAmpmZmZmZCUAAAAAAAAAMQJqZmZmZmQ1AAAAAAAAAEEAzMzMzMzMRQGZmZmZmZhJAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQM3MzMzMzBRAMzMzMzMzFUDNzMzMzMwUQGZmZmZmZhRAAAAAAAAAFEAAAAAAAAAUQJqZmZmZmRNAMzMzMzMzE0DNzMzMzMwSQM3MzMzMzBJAzczMzMzMEkDNzMzMzMwSQDMzMzMzMxNAZmZmZmZmEkBmZmZmZmYSQAAAAAAAABJAmZmZmZmZEUAzMzMzMzMRQGZmZmZmZhBAZmZmZmZmEEBmZmZmZmYKQGZmZmZmZgpAZmZmZmZmCkCamZmZmZkJQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQGZmZmZmZgZAZmZmZmZmBkCamZmZmZkFQGZmZmZmZgZAZmZmZmZmBkA=', 'shape': (145,), 'dtype': 'float64', 'order': 'little'}},</div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">js_event_callbacks&nbsp;=&nbsp;{},</div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">js_property_callbacks&nbsp;=&nbsp;{},</div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">name&nbsp;=&nbsp;None,</div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">selected&nbsp;=&nbsp;Selection(id='1496', ...),</div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">selection_policy&nbsp;=&nbsp;UnionRenderers(id='1495', ...),</div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">subscribed_events&nbsp;=&nbsp;[],</div></div><div class=\"1493\" style=\"display: none;\"><div style=\"display: table-cell;\"></div><div style=\"display: table-cell;\">tags&nbsp;=&nbsp;[])</div></div></div>\n",
       "<script>\n",
       "(function() {\n",
       "  var expanded = false;\n",
       "  var ellipsis = document.getElementById(\"1494\");\n",
       "  ellipsis.addEventListener(\"click\", function() {\n",
       "    var rows = document.getElementsByClassName(\"1493\");\n",
       "    for (var i = 0; i < rows.length; i++) {\n",
       "      var el = rows[i];\n",
       "      el.style.display = expanded ? \"none\" : \"table-row\";\n",
       "    }\n",
       "    ellipsis.innerHTML = expanded ? \"&hellip;)\" : \"&lsaquo;&lsaquo;&lsaquo;\";\n",
       "    expanded = !expanded;\n",
       "  });\n",
       "})();\n",
       "</script>\n"
      ],
      "text/plain": [
       "ColumnDataSource(id='1492', ...)"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "source"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"cae20955-4f1f-4ca4-a9e0-d27d7f276d66\" data-root-id=\"1497\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"066fa762-af2b-49b8-aba3-2682cba97491\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1506\"}],\"center\":[{\"id\":\"1509\"},{\"id\":\"1513\"}],\"left\":[{\"id\":\"1510\"}],\"plot_height\":400,\"renderers\":[{\"id\":\"1537\"},{\"id\":\"1542\"}],\"title\":{\"id\":\"1533\"},\"toolbar\":{\"id\":\"1521\"},\"x_range\":{\"id\":\"1498\"},\"x_scale\":{\"id\":\"1502\"},\"y_range\":{\"id\":\"1500\"},\"y_scale\":{\"id\":\"1504\"}},\"id\":\"1497\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis\":{\"id\":\"1506\"},\"ticker\":null},\"id\":\"1509\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1492\"}},\"id\":\"1543\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1498\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1514\",\"type\":\"PanTool\"},{\"attributes\":{\"axis\":{\"id\":\"1510\"},\"dimension\":1,\"ticker\":null},\"id\":\"1513\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1500\",\"type\":\"DataRange1d\"},{\"attributes\":{\"format\":\"0.0a\"},\"id\":\"1531\",\"type\":\"NumeralTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1519\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data_source\":{\"id\":\"1492\"},\"glyph\":{\"id\":\"1540\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"divorces\",\"nonselection_glyph\":{\"id\":\"1541\"},\"selection_glyph\":null,\"view\":{\"id\":\"1543\"}},\"id\":\"1542\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"144 years of marriges and divorce in the U,S\"},\"id\":\"1533\",\"type\":\"Title\"},{\"attributes\":{\"data\":{\"divorces\":{\"__ndarray__\":\"MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z8zMzMzMzPTPzMzMzMzM9M/MzMzMzMz0z+amZmZmZnZP5qZmZmZmdk/mpmZmZmZ2T+amZmZmZnZP5qZmZmZmdk/mpmZmZmZ2T+amZmZmZnZPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/MzMzMzMz4z8zMzMzMzPjPwAAAAAAAOA/MzMzMzMz4z8zMzMzMzPjPzMzMzMzM+M/MzMzMzMz4z9mZmZmZmbmP2ZmZmZmZuY/ZmZmZmZm5j+amZmZmZnpP5qZmZmZmek/mpmZmZmZ6T+amZmZmZnpP5qZmZmZmek/mpmZmZmZ6T/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/AAAAAAAA8D/NzMzMzMzsPwAAAAAAAPA/AAAAAAAA8D+amZmZmZnxPzMzMzMzM/M/mpmZmZmZ8T9mZmZmZmb2P5qZmZmZmfk/AAAAAAAA+D9mZmZmZmb2PwAAAAAAAPg/AAAAAAAA+D8AAAAAAAD4P5qZmZmZmfk/mpmZmZmZ+T8zMzMzMzP7PzMzMzMzM/s/mpmZmZmZ+T8AAAAAAAD4P83MzMzMzPQ/zczMzMzM9D+amZmZmZn5PzMzMzMzM/s/zczMzMzM/D9mZmZmZmb+P2ZmZmZmZv4/ZmZmZmZm/j8AAAAAAAAAQJqZmZmZmQFAMzMzMzMzA0DNzMzMzMwEQDMzMzMzMwdAAAAAAAAADEAzMzMzMzMRQDMzMzMzMwtAZmZmZmZmBkCamZmZmZkFQAAAAAAAAARAAAAAAAAABEAAAAAAAAAEQDMzMzMzMwNAZmZmZmZmAkBmZmZmZmYCQGZmZmZmZgJAmpmZmZmZAUDNzMzMzMwAQJqZmZmZmQFAmpmZmZmZAUBmZmZmZmYCQJqZmZmZmQFAZmZmZmZmAkBmZmZmZmYCQAAAAAAAAARAAAAAAAAABEDNzMzMzMwEQDMzMzMzMwdAmpmZmZmZCUAAAAAAAAAMQJqZmZmZmQ1AAAAAAAAAEEAzMzMzMzMRQGZmZmZmZhJAMzMzMzMzE0AAAAAAAAAUQAAAAAAAABRAZmZmZmZmFEAzMzMzMzMVQM3MzMzMzBRAMzMzMzMzFUDNzMzMzMwUQGZmZmZmZhRAAAAAAAAAFEAAAAAAAAAUQJqZmZmZmRNAMzMzMzMzE0DNzMzMzMwSQM3MzMzMzBJAzczMzMzMEkDNzMzMzMwSQDMzMzMzMxNAZmZmZmZmEkBmZmZmZmYSQAAAAAAAABJAmZmZmZmZEUAzMzMzMzMRQGZmZmZmZhBAZmZmZmZmEEBmZmZmZmYKQGZmZmZmZgpAZmZmZmZmCkCamZmZmZkJQAAAAAAAAAhAMzMzMzMzB0AzMzMzMzMHQGZmZmZmZgZAZmZmZmZmBkCamZmZmZkFQGZmZmZmZgZAZmZmZmZmBkA=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[145]},\"marriages\":{\"__ndarray__\":\"ZmZmZmZmI0AzMzMzMzMiQAAAAAAAACJAmpmZmZmZIUCamZmZmZkhQAAAAAAAACJAzczMzMzMIUBmZmZmZmYhQAAAAAAAACJAZmZmZmZmIUBmZmZmZmYhQJqZmZmZmSFAzczMzMzMIUAAAAAAAAAiQAAAAAAAACJAZmZmZmZmIkBmZmZmZmYiQGZmZmZmZiFAzczMzMzMIUBmZmZmZmYiQDMzMzMzMyFAmpmZmZmZIUAzMzMzMzMiQAAAAAAAACJAZmZmZmZmIkAzMzMzMzMiQM3MzMzMzCFAAAAAAAAAIUCamZmZmZkhQM3MzMzMzCFAzczMzMzMIUCamZmZmZkhQAAAAAAAACJAmpmZmZmZIkAzMzMzMzMjQJqZmZmZmSNAMzMzMzMzJEDNzMzMzMwjQAAAAAAAACRAAAAAAAAAJUCamZmZmZklQGZmZmZmZiNAzczMzMzMI0CamZmZmZkkQGZmZmZmZiRAAAAAAAAAJUAAAAAAAAAlQJqZmZmZmSRAAAAAAAAAJEAzMzMzMzMlQDMzMzMzMyZAMzMzMzMzI0DNzMzMzMwlQAAAAAAAAChAZmZmZmZmJUCamZmZmZkkQAAAAAAAACZAzczMzMzMJECamZmZmZkkQGZmZmZmZiRAMzMzMzMzJECamZmZmZkjQDMzMzMzMyRAMzMzMzMzIkAAAAAAAAAhQJqZmZmZmR9AZmZmZmZmIUCamZmZmZkkQM3MzMzMzCRAZmZmZmZmJUCamZmZmZkmQGZmZmZmZiRAZmZmZmZmJUAzMzMzMzMoQGZmZmZmZilAMzMzMzMzKkAAAAAAAAAnQAAAAAAAACVAAAAAAAAAJ0AzMzMzMzMwQJqZmZmZmStAzczMzMzMKEAzMzMzMzMlQAAAAAAAACZAmpmZmZmZJECamZmZmZkjQGZmZmZmZiNAZmZmZmZmIkCamZmZmZkiQM3MzMzMzCJAzczMzMzMIUCamZmZmZkgQM3MzMzMzCBAzczMzMzMIEDNzMzMzMwgQAAAAAAAACFAZmZmZmZmIUAAAAAAAAAiQJqZmZmZmSJAzczMzMzMIkBmZmZmZmYjQJqZmZmZmSRAMzMzMzMzJUBmZmZmZmYlQAAAAAAAACVAzczMzMzMJUCamZmZmZklQAAAAAAAACVAAAAAAAAAJEDNzMzMzMwjQM3MzMzMzCNAmpmZmZmZJEDNzMzMzMwkQDMzMzMzMyVAMzMzMzMzJUAiIiIiIiIlQBERERERESVAAAAAAAAAJUAzMzMzMzMkQAAAAAAAACRAzczMzMzMI0BmZmZmZmYjQGZmZmZmZiNAmpmZmZmZI0DNzMzMzMwiQJqZmZmZmSJAAAAAAAAAIkAzMzMzMzMiQO/u7u7u7iFAqqqqqqqqIUBmZmZmZmYhQDMzMzMzMyBAzczMzMzMIEBmZmZmZmYgQGZmZmZmZiBAAAAAAAAAIEDNzMzMzMweQDMzMzMzMx9AZmZmZmZmHkAzMzMzMzMdQDMzMzMzMx1AZmZmZmZmHEAzMzMzMzMbQDMzMzMzMxtAMzMzMzMzG0A=\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[145]},\"year\":[1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011]},\"selected\":{\"id\":\"1496\"},\"selection_policy\":{\"id\":\"1495\"}},\"id\":\"1492\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1518\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1580\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1496\",\"type\":\"Selection\"},{\"attributes\":{\"overlay\":{\"id\":\"1519\"}},\"id\":\"1516\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1492\"},\"glyph\":{\"id\":\"1535\"},\"hover_glyph\":null,\"muted_glyph\":null,\"name\":\"marriages\",\"nonselection_glyph\":{\"id\":\"1536\"},\"selection_glyph\":null,\"view\":{\"id\":\"1538\"}},\"id\":\"1537\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1515\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1511\",\"type\":\"BasicTicker\"},{\"attributes\":{\"interval\":10,\"num_minor_ticks\":0},\"id\":\"1529\",\"type\":\"SingleIntervalTicker\"},{\"attributes\":{\"formatter\":{\"id\":\"1580\"},\"ticker\":{\"id\":\"1529\"}},\"id\":\"1506\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1495\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null,\"mode\":\"vline\",\"tooltips\":\"<font face=\\\"Arial\\\" size=\\\"3\\\">@$name{0.0} $name per 1,000 people in @year</font>\"},\"id\":\"1520\",\"type\":\"HoverTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1514\"},{\"id\":\"1515\"},{\"id\":\"1516\"},{\"id\":\"1517\"},{\"id\":\"1518\"},{\"id\":\"1520\"}]},\"id\":\"1521\",\"type\":\"Toolbar\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":3,\"x\":{\"field\":\"year\"},\"y\":{\"field\":\"marriages\"}},\"id\":\"1536\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1517\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_color\":\"#1f77b4\",\"line_width\":3,\"x\":{\"field\":\"year\"},\"y\":{\"field\":\"marriages\"}},\"id\":\"1535\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1504\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1492\"}},\"id\":\"1538\",\"type\":\"CDSView\"},{\"attributes\":{\"line_color\":\"#ff7f0e\",\"line_width\":3,\"x\":{\"field\":\"year\"},\"y\":{\"field\":\"divorces\"}},\"id\":\"1540\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#ff7f0e\",\"line_width\":3,\"x\":{\"field\":\"year\"},\"y\":{\"field\":\"divorces\"}},\"id\":\"1541\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"# per 1,000 people\",\"formatter\":{\"id\":\"1531\"},\"ticker\":{\"id\":\"1511\"}},\"id\":\"1510\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1502\",\"type\":\"LinearScale\"}],\"root_ids\":[\"1497\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"066fa762-af2b-49b8-aba3-2682cba97491\",\"root_ids\":[\"1497\"],\"roots\":{\"1497\":\"cae20955-4f1f-4ca4-a9e0-d27d7f276d66\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1497"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 设置工具条\n",
    "TOOLS = 'pan,wheel_zoom,box_zoom,reset,save'\n",
    "\n",
    "# 画布\n",
    "p = figure(tools=TOOLS,plot_width = 600,plot_height=400,\n",
    "          tooltips='<font face=\"Arial\" size=\"3\">@$name{0.0} $name per 1,000 people in @year</font>')\n",
    "\n",
    "# 定义画布的内容（坐标轴刻度）models\n",
    "p.hover.mode = 'vline'\n",
    "p.xaxis.ticker = SingleIntervalTicker(interval=10,num_minor_ticks=0)\n",
    "p.yaxis.formatter = NumeralTickFormatter(format='0.0a')\n",
    "p.yaxis.axis_label = \"# per 1,000 people\"\n",
    "p.title.text = '144 years of marriges and divorce in the U,S'\n",
    "# 绘图\n",
    "p.line('year','marriages',color=\"#1f77b4\",line_width=3,source=source,name=\"marriages\")\n",
    "p.line('year','divorces',color=\"#ff7f0e\",line_width=3,source=source,name=\"divorces\")\n",
    "\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 实践：AAPL close收盘价折线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "from bokeh.sampledata.stocks import AAPL\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 数据准备\n",
    "aapl = np.array(AAPL['close'])\n",
    "aapl_dates = np.array(AAPL['date'],dtype=np.datetime64)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'year': array(['2000-03-01', '2000-03-02', '2000-03-03', ..., '2013-02-27',\n",
       "        '2013-02-28', '2013-03-01'], dtype='datetime64[D]'),\n",
       " 'stocks': array([130.31, 122.  , 128.  , ..., 444.57, 441.4 , 430.47])}"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dict(\n",
    "    year = aapl_dates,\n",
    "    stocks = aapl,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "\n",
       "  <div class=\"bk-root\" id=\"63be06bb-b98b-4656-b27c-ac7792623002\" data-root-id=\"1627\"></div>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/javascript": [
       "(function(root) {\n",
       "  function embed_document(root) {\n",
       "    \n",
       "  var docs_json = {\"5b0831e6-d418-4c2e-adee-209a18f1e8cb\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1636\"}],\"center\":[{\"id\":\"1639\"},{\"id\":\"1643\"},{\"id\":\"1684\"}],\"left\":[{\"id\":\"1640\"}],\"plot_height\":350,\"plot_width\":800,\"renderers\":[{\"id\":\"1661\"}],\"title\":{\"id\":\"1663\"},\"toolbar\":{\"id\":\"1651\"},\"x_range\":{\"id\":\"1628\"},\"x_scale\":{\"id\":\"1632\"},\"y_range\":{\"id\":\"1630\"},\"y_scale\":{\"id\":\"1634\"}},\"id\":\"1627\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1669\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1660\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1670\",\"type\":\"Selection\"},{\"attributes\":{\"items\":[{\"id\":\"1685\"}],\"location\":\"top_left\"},\"id\":\"1684\",\"type\":\"Legend\"},{\"attributes\":{\"data_source\":{\"id\":\"1658\"},\"glyph\":{\"id\":\"1659\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1660\"},\"selection_glyph\":null,\"view\":{\"id\":\"1662\"}},\"id\":\"1661\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_color\":\"red\",\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1659\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1667\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1628\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"1658\"}},\"id\":\"1662\",\"type\":\"CDSView\"},{\"attributes\":{\"mantissas\":[1,2,5],\"max_interval\":500.0,\"num_minor_ticks\":0},\"id\":\"1671\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"1645\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"base\":60,\"mantissas\":[1,2,5,10,15,20,30],\"max_interval\":1800000.0,\"min_interval\":1000.0,\"num_minor_ticks\":0},\"id\":\"1672\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"1641\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1632\",\"type\":\"LinearScale\"},{\"attributes\":{\"text\":\"AAPL stocks\"},\"id\":\"1663\",\"type\":\"Title\"},{\"attributes\":{\"axis_label\":\"Date\",\"formatter\":{\"id\":\"1665\"},\"ticker\":{\"id\":\"1637\"}},\"id\":\"1636\",\"type\":\"DatetimeAxis\"},{\"attributes\":{\"days\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31]},\"id\":\"1674\",\"type\":\"DaysTicker\"},{\"attributes\":{\"base\":24,\"mantissas\":[1,2,4,6,8,12],\"max_interval\":43200000.0,\"min_interval\":3600000.0,\"num_minor_ticks\":0},\"id\":\"1673\",\"type\":\"AdaptiveTicker\"},{\"attributes\":{},\"id\":\"1630\",\"type\":\"DataRange1d\"},{\"attributes\":{\"months\":[0,1,2,3,4,5,6,7,8,9,10,11]},\"id\":\"1678\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"1634\",\"type\":\"LinearScale\"},{\"attributes\":{\"months\":[0,2,4,6,8,10]},\"id\":\"1679\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"label\":{\"value\":\"close\"},\"renderers\":[{\"id\":\"1661\"}]},\"id\":\"1685\",\"type\":\"LegendItem\"},{\"attributes\":{\"num_minor_ticks\":5,\"tickers\":[{\"id\":\"1671\"},{\"id\":\"1672\"},{\"id\":\"1673\"},{\"id\":\"1674\"},{\"id\":\"1675\"},{\"id\":\"1676\"},{\"id\":\"1677\"},{\"id\":\"1678\"},{\"id\":\"1679\"},{\"id\":\"1680\"},{\"id\":\"1681\"},{\"id\":\"1682\"}]},\"id\":\"1637\",\"type\":\"DatetimeTicker\"},{\"attributes\":{\"days\":[1,4,7,10,13,16,19,22,25,28]},\"id\":\"1675\",\"type\":\"DaysTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1636\"},\"grid_line_alpha\":0,\"ticker\":null},\"id\":\"1639\",\"type\":\"Grid\"},{\"attributes\":{\"days\":[1,15]},\"id\":\"1677\",\"type\":\"DaysTicker\"},{\"attributes\":{\"months\":[0,6]},\"id\":\"1681\",\"type\":\"MonthsTicker\"},{\"attributes\":{},\"id\":\"1644\",\"type\":\"PanTool\"},{\"attributes\":{\"days\":[1,8,15,22]},\"id\":\"1676\",\"type\":\"DaysTicker\"},{\"attributes\":{},\"id\":\"1682\",\"type\":\"YearsTicker\"},{\"attributes\":{\"axis\":{\"id\":\"1640\"},\"dimension\":1,\"grid_line_alpha\":0,\"ticker\":null},\"id\":\"1643\",\"type\":\"Grid\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1644\"},{\"id\":\"1645\"},{\"id\":\"1646\"},{\"id\":\"1647\"},{\"id\":\"1648\"},{\"id\":\"1649\"}]},\"id\":\"1651\",\"type\":\"Toolbar\"},{\"attributes\":{\"months\":[0,4,8]},\"id\":\"1680\",\"type\":\"MonthsTicker\"},{\"attributes\":{\"data\":{\"x\":{\"__ndarray__\":\"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AADAGGpfckIAAIB+vF9yQgAAQOQOYHJCAAAASmFgckIAAMCvs2ByQgAAAOGqYXJCAADARv1hckIAAICsT2JyQgAAQBKiYnJCAAAAePRickIAAAAPPmRyQgAAwHSQZHJCAACA2uJkckIAAEBANWVyQgAAgHEsZnJCAABA135mckIAAAA90WZyQgAAwKIjZ3JCAACACHZnckIAAMA5bWhyQgAAgJ+/aHJCAABABRJpckIAAABrZGlyQgAAwNC2aXJCAAAAAq5qckIAAMBnAGtyQgAAgM1Sa3JCAABAM6VrckIAAACZ92tyQgAAADBBbXJCAADAlZNtckIAAID75W1yQgAAQGE4bnJCAACAki9vckIAAED4gW9yQgAAAF7Ub3JCAADAwyZwckIAAIApeXByQgAAwFpwcXJCAACAwMJxckIAAEAmFXJyQgAAAIxncnJCAADA8blyckIAAAAjsXNyQgAAwIgDdHJCAACA7lV0ckIAAEBUqHRyQgAAALr6dHJCAABA6/F1ckIAAABRRHZyQgAAwLaWdnJCAACAHOl2ckIAAECCO3dyQgAAgLMyeHJCAABAGYV4ckIAAAB/13hyQgAAwOQpeXJCAACASnx5ckIAAMB7c3pyQgAAgOHFenJCAABARxh7ckIAAACtantyQgAAAES0fHJCAADAqQZ9ckIAAIAPWX1yQgAAQHWrfXJCAAAA2/19ckIAAEAM9X5yQgAAAHJHf3JCAADA15l/ckIAAIA97H9yQgAAQKM+gHJCAACA1DWBckIAAEA6iIFyQgAAAKDagXJCAADABS2CckIAAIBrf4JyQgAAwJx2g3JCAACAAsmDckIAAEBoG4RyQgAAAM5thHJCAADAM8CEckIAAABlt4VyQgAAwMoJhnJCAACAMFyGckIAAECWroZyQgAAAPwAh3JCAABALfiHckIAAACTSohyQgAAwPiciHJCAACAXu+IckIAAEDEQYlyQgAAgPU4inJCAABAW4uKckIAAADB3YpyQgAAwCYwi3JCAACAjIKLckIAAMC9eYxyQgAAgCPMjHJCAABAiR6NckIAAADvcI1yQgAAwFTDjXJCAADA6wyPckIAAIBRX49yQgAAQLexj3JCAAAAHQSQckIAAEBO+5ByQgAAALRNkXJCAADAGaCRckIAAIB/8pFyQgAAQOVEknJCAACAFjyTckIAAEB8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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[3270]},\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"order\":\"little\",\"shape\":[3270]}},\"selected\":{\"id\":\"1670\"},\"selection_policy\":{\"id\":\"1669\"}},\"id\":\"1658\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":0.5,\"fill_color\":\"lightgrey\",\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":1.0,\"line_color\":\"black\",\"line_dash\":[4,4],\"line_width\":2,\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1650\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1649\",\"type\":\"HelpTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1650\"}},\"id\":\"1646\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1647\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1648\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1665\",\"type\":\"DatetimeTickFormatter\"},{\"attributes\":{\"axis_label\":\"Price\",\"formatter\":{\"id\":\"1667\"},\"ticker\":{\"id\":\"1641\"}},\"id\":\"1640\",\"type\":\"LinearAxis\"}],\"root_ids\":[\"1627\"]},\"title\":\"Bokeh Application\",\"version\":\"2.1.1\"}};\n",
       "  var render_items = [{\"docid\":\"5b0831e6-d418-4c2e-adee-209a18f1e8cb\",\"root_ids\":[\"1627\"],\"roots\":{\"1627\":\"63be06bb-b98b-4656-b27c-ac7792623002\"}}];\n",
       "  root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
       "\n",
       "  }\n",
       "  if (root.Bokeh !== undefined) {\n",
       "    embed_document(root);\n",
       "  } else {\n",
       "    var attempts = 0;\n",
       "    var timer = setInterval(function(root) {\n",
       "      if (root.Bokeh !== undefined) {\n",
       "        clearInterval(timer);\n",
       "        embed_document(root);\n",
       "      } else {\n",
       "        attempts++;\n",
       "        if (attempts > 100) {\n",
       "          clearInterval(timer);\n",
       "          console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
       "        }\n",
       "      }\n",
       "    }, 10, root)\n",
       "  }\n",
       "})(window);"
      ],
      "application/vnd.bokehjs_exec.v0+json": ""
     },
     "metadata": {
      "application/vnd.bokehjs_exec.v0+json": {
       "id": "1627"
      }
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 画布\n",
    "p = figure(width=800, height=350, x_axis_type=\"datetime\")\n",
    "# 绘图\n",
    "p.line(aapl_dates, aapl, color='red', legend='close')\n",
    "# 视觉属性\n",
    "p.title.text = \"AAPL stocks\"\n",
    "p.legend.location = \"top_left\"\n",
    "p.grid.grid_line_alpha=0\n",
    "p.xaxis.axis_label = 'Date'\n",
    "p.yaxis.axis_label = 'Price'\n",
    "# 显示结果\n",
    "show(p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
